package com.fs.iot.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fs.common.base.domain.entity.BaseEntity;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Map;

/**
 * 设备
 *
 * @author  LiuQi 2025/3/22-13:14
 * @version V1.0
 **/
@Data
@TableName(value = "t_device", autoResultMap = true)
public class DeviceEntity extends BaseEntity {
    /**
     * 网关id
     */
    private String gatewayId;

    /**
     * 模型id
     */
    private String modelId;

    /**
     * 分类id
     */
    private String categoryId;

    /**
     * 设备编码
     */
    private String code;

    /**
     * 设备名称
     */
    private String name;

    /**
     * 设备状态，0：下线；1：上线；
     */
    private Integer status;

    /**
     * 在线状态，0：离线，1：在线
     */
    private Boolean online;

    /**
     * 设备标签
     */
    private String tag;

    /**
     * 最后上数时间
     */
    private LocalDateTime lastUpTime;

    /**
     * 元数据
     */
    @TableField(typeHandler = FastjsonTypeHandler.class)
    private Map<String, Object> metadata;
}
